package util;

import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;

/**
 * Classe para tratar algumas Strings e suas relacoes
 * 
 * @author Arthur, Gabriel e Tales
 * 
 */
public class StringsUtil {

	public static boolean contemPalavra(String s, String stringMaior) {
		StringTokenizer parser = new StringTokenizer(stringMaior);
		while (parser.hasMoreTokens()) {
			if (s.equalsIgnoreCase(parser.nextToken())) {
				return true;
			}
		}
		return false;
	}

	/**
	 * Metodo para formatar a saida para o localizador de eventos
	 * 
	 * @param eventosLocalizados
	 * @return
	 */
	public static String formataStringSalaEvento(List<String> eventosLocalizados) {
		String stringFormatada = "";
		Collections.sort(eventosLocalizados);

		for (int i = 0; i < eventosLocalizados.size(); i++) {
			stringFormatada += eventosLocalizados.get(i);
			stringFormatada += ", ";
		}

		return stringFormatada.substring(0, stringFormatada.length() - 2);
	}

	/**
	 * Em casos em que uma entrada eh lida pela UI e se trata de um digito entre
	 * 0 e 10
	 * 
	 * @param dia
	 * @return
	 */
	public static String formataStringDoisDigitos(String dia) {
		if (Integer.parseInt(dia) >= 0 && Integer.parseInt(dia) < 10) {
			return ("0" + dia);
		}
		return dia;
	}

	/**
	 * Metodo para formatar a entrada referente a ano
	 * @param ano
	 * @return
	 */
	public static String formataAno(String ano) {
		if (ano.length() != 4) {
			if (ano.length() == 2) {
				return ("20" + ano);
			}
			if (ano.length() == 1) {
				return ("200" + ano);
			}
			if (ano.length() == 3) {
				return ("2" + ano);
			}
		}
		return ano.substring(0, 4);
	}
	
}
